package si.yun.dao;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import si.yun.entity.*;

import java.util.List;
/**
 * @ClassName TeaDao
 * @Author SXM
 * @Date 2021/07/29 14:33
 * @Version 1.0
 */
@Component
public interface TeacherDao {
    //查询获取课程分类
    List<ztreeNode> selCourseClass();
    //查询获取课程分类--子节点
    List<ztreeNode> selCourseClass2(int childid);
    //表格上方按钮中的总和数--总数
    int selCourseAllSum(Integer uId);
    //表格上方按钮中的总和数--已上架总数
    int selCourseStatus2Sum(Integer uId);
    //表格上方按钮中的总和数--未上架总数
    int selCourseStatus3Sum(Integer uId);
    //表格上方按钮中的总和数--待审核总数
    int selCourseCstatus3Sum(Integer uId);
    //表格上方按钮中的总和数--未通过总数
    int selCourseCstatus5Sum(Integer uId);
    //查询个人课程表--全部课程表、是否上架、是否审核通过/根据名称、价格、分类
    List<SyCourseTab> selcourseTab(CourseTab tab);
    //个人课程表--查询对应分类名称
    SyCourseClass selcourseTabClass(Integer classId);
    //更改个人课程的上下架状态
    int updCourseStatus(@Param("courseId") int courseId, @Param("status") int status);
    //查询课程审核详情
    List<SyCourseRecordTab> selcourseRecord(Integer Id);
    //查询单个课程详情
    SyCourseTab selcourse(Integer courseId);
    //查询分类全名称
    SyCourseClass selcourseClassName(Integer classId);
    //查询课程的日志
    List<SyCourseTab> selJournal(Integer id);
    //修改课程详情
    int updCourseEdit(CourseTab tab);
    //删除课程
    int delCourse(Integer id);
    //添加课程
    int addCourse(@Param("tab")SyCourseTab tab,@Param("uId")Integer uId);
    /*
     * 查询微圈表格数据
     * */
    List<SyForumTab> selForumTab(ForumTab tab);
    //查询收藏数
    Integer selcollectionNum(Integer id);
    //添加微圈文章
    int addMicroCircle(@Param("form")ForumTab tab);
    //修改微圈文章
    int updMicroCircle(ForumTab tab);
    //删除微圈文章
    int delMicroCircle(Integer id);
    //查看微圈
    SyForumTab selMicroCircle(Integer id);
    //微圈管理--发送评论
    int addComment(ForumTab tab);
    //微圈管理——查询评论-后台
    List<SyCommentList> selComment(@Param("id")Integer id,@Param("limi")Integer limi);
    //微圈管理——查询评论-前台
    SyCommentList selComment2(Integer id);
    //微圈管理_隐藏评论
    int updComment(@Param("id")Integer id,@Param("uId")Integer uId);
    //微圈管理_删除评论
    int delComment(Integer id);
    /*
     * 公共课程\微圈管理_添加分类节点
     * */
    int addClassTree(@Param("pid")Integer parentId,@Param("name")String name,@Param("uId")Integer uId);
    //公共课程\微圈管理_修改分类节点
    int updClassTree(@Param("id")Integer id,@Param("name")String name,@Param("uId")Integer uId);
    //公共课程\微圈管理_删除分类节点
    int delClassTree(Integer id);

}
